package chapter4;
import java.util.Scanner;
/****************************************************************
 * Author：icynlau
 * Description: 检测ISBN-10   
 * 				思考一下，觉得自己给一个字符串赋值再进行比较，更方便检查输入是否合法
 *  因为不用考虑原来的输入串在第十个字符之后有没有结束了。
 *  
 *  如果用户输入比10个字符少，则程序会出现错误，显然这个程序的鲁棒性是不够好的
 * Date:2021/4/2
 * ***************************************************************
 */
public class exc4_19 {
	public static void main(String[] args) {
		Scanner input=new Scanner(System.in);
		System.out.print("Enter the ISBN-10 code :");
		String s=input.next();
		int sum=0;
		String correctISBN="";
		for(int i=0;i<9;i++) {
			if(s.charAt(i)>='0'&&s.charAt(i)<='9') {
				correctISBN+=s.charAt(i);
				sum+=(s.charAt(i)-'0')*(i+1);
			}else {
				System.out.println("Error");
				System.exit(1);
			}
		}
		
		
		int tail=sum%11;
		if(tail==10) {
			correctISBN+='X';
			if(correctISBN.equals(s)) {
				System.out.print("Correct.");
			}else {
				System.out.print("Error.");
			}
		}else {
			int nChar=(int)'0'+tail;
			correctISBN+=(char)nChar;
			if(correctISBN.equals(s)) {
				System.out.print("Correct.");
			}else {
				System.out.print("Error.");
			}
		}
		
	}
}
